package com.diaohw.module.system.service;


import com.diaohw.module.system.obj.dto.MenuDto;
import com.diaohw.module.system.obj.query.MenuQuery;
import com.diaohw.module.system.obj.vo.MenuTreeVo;
import com.diaohw.module.system.obj.vo.MenuVo;
import com.diaohw.platform.common.obj.page.PageResultVo;

import java.util.List;

/**
 * <p>
 * 菜单 服务类
 * </p>
 *
 * @author D-Hw
 * @since 2024-07-05
 */
public interface MenuService  {

    /**
     * 新增
     */
    MenuVo create(MenuDto data);

    /**
     * 更新
     */
    MenuVo update(String id, MenuDto data);

    /**
     * 删除
     */
    Boolean delete(String id);

    /**
     * 依据ID查看信息
     */
    MenuVo detail(String id);

    /**
     * 查询列表
     */
    List<MenuVo> findByList(MenuQuery query);

    /**
     * 分页查看
     */
    PageResultVo<MenuVo> findByPage(MenuQuery query);

    /**
     * 菜单树
     */
    List<MenuTreeVo> tree();
}
